import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
Dans l'optique d'un développement à l'international, notre entreprise de cours en ligne souhaite avoir plus d'information sur le marché mondial. Elle souhaite définir ses priorités d'implantation à partir de différents critères.
Pour cela, il me faut réaliser une analyser exploraroire des données sur les mondiales de l'éducation (Taux d'investissement dans l'éducation, nombre d'élèves, taux d'équipement en internet...)
Notre entreprise souhaite avoir des réponses à ces questions :
Pour notre étude, nous nous appuierons sur différentes données : EdStatsCountry, EdStatsCountry-Series, EdStatsData, EdStatsFootnote et EdStatsSeries.
Avant de détailler, il est important de préciser que seul les éléments retenus dans l'étude seront évoqués dans la description des données.
Présentons maintenant nos données:
Exemple où on récupère un fichier depuis le web , en local
!wget https://s3-eu-west-1.amazonaws.com/static.oc-static.com/prod/courses/files/parcours-data-analyst/DAN-P4-FAO.zip
!unzip DAN-P4-FAO.zip
Un exemple pour charger un dataframe directement depuis le web
erp_df = pd.read_excel('https://s3-eu-west-1.amazonaws.com/static.oc-static.com/prod/courses/files/parcours-data-analyst/P5+ERP+vin/erp.xlsx')
Recuperer le fichier en local
!wget https://s3-eu-west-1.amazonaws.com/static.oc-static.com/prod/courses/files/parcours-data-analyst/P5+ERP+vin/web.xlsx
df_web = pd.read_excel('web.xlsx')
df_web.head()
erp_df.head()
# On donne le chemin d'accès du fichier qu'on souhaite afficher. On enregistre la lecture de ce fichier, ici sous le nom "Country".
# Dans les propriétés du fichier à afficher, aller dans l'onglet sécurité puis copier le "nom de l'objet" en entier. Attention : Il ressemble à un chemin d'accès, ne pas confondre.
# Penser à toujours ajouter r juste après la parenthèse, vérifier également les parenthèses
# Pour afficher quelques lignes du dataframe, on utilise la commande data.head()
Country = pd.read_csv('EdStatsCountry.csv')
Country.head()
Country_Series = pd.read_csv(r'C:\Users\Clément\Documents\Data Openclassrooms\Fichiers projets 1\Fichier Edstat .csv\data\EdStatsCountry-Series.csv')
Country_Series.head()
Data = pd.read_csv(r'C:\Users\Clément\Documents\Data Openclassrooms\Fichiers projets 1\Fichier Edstat .csv\data\EdStatsData.csv')
Data.head()
FootNote = pd.read_csv(r'C:\Users\Clément\Documents\Data Openclassrooms\Fichiers projets 1\Fichier Edstat .csv\data\EdStatsFootNote.csv')
FootNote.head()
Series = pd.read_csv(r'C:\Users\Clément\Documents\Data Openclassrooms\Fichiers projets 1\Fichier Edstat .csv\data\EdStatsSeries.csv')
Series.head()
# On veut afficher les intitulés des colonnes
# L'objectif est de fusionner les dataframes qui ont au moins un intitulé en commun, dans le cas contraire, il y aura une erreur.
# On donne le nom du dataframe concerné puis on ajoute "".columns" ----> nomdudataframe.columns
Country.columns
Country_Series.columns
FootNote.columns
Series.columns
# Je veux fusionner l'ensemble des données
Data_Country = pd.merge(Data, Country, on='Country Code', how= 'left')
Data_Country.head()
#Je souhaite vérifier que le merge s'est correctement passé en comparant les anciennes et les nouvelles proportions des dataframes
print(Country.shape)
print(Data.shape)
print(Data_Country.shape)
Data_Country.columns
Data_Country_cols = Data_Country.columns
# La fonction ".sum" indique que je veux la somme de l'ensemble des données nulles par colonne.
# Aucune valeur nulle n'est présente dans la colonne "Country Name"
# 814 642 valeurs sont manquantes dans la colonne correspondante à l'année 1970.
# IMPORTANT : Dans pandas, .sum va convertir les valeurs True et False en valeur numérique. True = 1 et False = 0
Data_Country.isnull().sum()
# Rappel :
# axis=0 lis les données, de haut en bas dans le dataframe. Dans le sens des lignes donc.
# axis=1 ---------------- de haut en bas -----------------. Dans le sens des colonnes.
# La fonction drop.na fonction par défaut avec axis=0
# La fonction drop.na sert à se débarasser des valeurs manquantes.
# Ici, en précisant (how='all'), je demande à me débarasser de la totalité des lignes (de la variable)
# si l'ensemble, ("all") des valeurs y sont manquantes.
# How='any' : si au moins une valeur est manquantes, on se débarrasse de la variable.
Data_Country.dropna(how='all').shape
# La fonction précédente n'a pas été efficace. On va affecter un taux de valeurs manquantes à la fonction pour savoir si on garde la variables concernées.
len(Data_Country)
df1 = pd.merge(Country, Data, how= 'left')
df1.head()
df1.shape
df2 = pd.merge(Series, df1, how= 'left')
df2.head()
df2.shape
# Je cible les colonnes que je souhaite conserver parmis celles que j'ai présélectionné.
cols = ['Indicator Name', 'Long definition', 'Unit of measure', 'Periodicity', 'Base Period', 'Development relevance', 'Related indicators', 'Region', 'Income Group', 'SNA price valuation', 'Lending category', 'System of National Accounts', 'Alternative conversion factor', 'PPP survey year', 'External debt Reporting status', 'Latest population census', 'Latest household survey', 'Source of most recent Income and expenditure data', 'Latest agricultural census', 'Latest industrial data', 'Latest trade data', 'Country Name', '2000', '2001', '2002', '2003', '2004', '2005', '2006', '2007', '2008', '2009', '2010', '2011', '2012', '2013', '2014', '2015', '2016', '2017']
data_to_study = df2[cols]
data_to_study.head()
data_to_study.shape
# On va affecter un taux de valeurs manquantes à la fonction pour savoir si on garde la variables concernées.
df4 = data_to_study.dropna(thresh=len( data_to_study.columns)*0.7)
df4
# J'affiche les lignes uniques de mon df'
df4['Indicator Name'].unique
# Je convertis ces lignes en liste
df4['Indicator Name'].unique().tolist()
df4_rows_list = df4['Indicator Name'].unique().tolist()
df4_rows_list
# fonction filtrage ligne (fonctionnel)
df4[df4['Indicator Name'].isin(['GDP, PPP (current international $)', 'GDP, PPP (constant 2011 international $)', 'GDP per capita, PPP (current international $)', 'GDP per capita, PPP (constant 2011 international $)', 'Government expenditure on secondary education as % of GDP (%)', 'Government expenditure on tertiary education as % of GDP (%)', 'Internet users (per 100 people)', 'Population growth (annual %)', 'Population, total'])]
df5 = df4[df4['Indicator Name'].isin(['GDP, PPP (current international $)', 'GDP, PPP (constant 2011 international $)', 'GDP per capita, PPP (current international $)', 'GDP per capita, PPP (constant 2011 international $)', 'Government expenditure on secondary education as % of GDP (%)', 'Government expenditure on tertiary education as % of GDP (%)', 'Internet users (per 100 people)', 'Population growth (annual %)', 'Population, total'])]
df5.shape
# Je crée une liste des années que je souhaite sélectionner
liste_annees = ['2000', '2001', '2002', '2003', '2004', '2005', '2006', '2007', '2008', '2009', '2010', '2011', '2012', '2013', '2014', '2015', '2016', '2017']
# liste de variables à étudier
var_to_study = ('GDP, PPP (current international $)', 'GDP, PPP (constant 2011 international $)', 'GDP per capita, PPP (current international $)', 'GDP per capita, PPP (constant 2011 international $)', 'Government expenditure on secondary education as % of GDP (%)', 'Government expenditure on tertiary education as % of GDP (%)', 'Internet users (per 100 people)', 'Population growth (annual %)', 'Population, total')
# Je vérifie que ma fonction melt est bien écrite
pd.melt(df5, id_vars=['Country Name'], value_vars=liste_annees, var_name='Année')
# J'organise chaque variable
df5_melted = df5.melt(id_vars=['Country Name','Region', 'Income Group', 'Indicator Name'], value_vars=liste_annees, var_name='Année')
df5_Income_Group = df5.melt(id_vars=['Country Name'], value_vars='Income Group', var_name='Niveau de richesse')
df5_melted
# Je trie mon df par Country Name et par Année
df5_melted.sort_values(by=['Country Name', 'Année'])
# Sélection d'un pays
df5_melted[df5_melted["Country Name"] =='Afghanistan']
# Je cherche un angle d'attaque pour filtrer mon dataframe
df5_melted["Income Group"].unique().tolist()
Je remarque que les mots 'High Income' me serait utile pour mon filtrage.
# filter by string / filtre par mot-clé
df5_melted[df5_melted["Income Group"].str.contains('High income')]
df5_High_Income = df5_melted[df5_melted["Income Group"].str.contains('High income')]
df5_High_Income.head()
df5_High_Income['Indicator Name'].unique().tolist()
high_income_list = df5_High_Income['Country Name'].unique().tolist()
high_income_list
df5_melted_High_Income = df5_melted[df5_melted["Country Name"].isin(high_income_list)]
df5_melted_High_Income
# J'affiche les variables que je souhaite étudier. Je filtre mon dataframe par indicateur à étudier.
df5_melted_High_Income['Indicator Name'].unique().tolist()
df_PIB_valeur_courante = df5_melted_High_Income[ df5_melted_High_Income['Indicator Name'] == 'GDP, PPP (current international $)' ]
df_PIB_valeur_courante.head()
df_PIB_valeur_constante_2011 = df5_melted_High_Income[ df5_melted_High_Income['Indicator Name'] == 'GDP, PPP (constant 2011 international $)' ]
df_PIB_valeur_constante_2011.head()
df_PIB_par_habitant_courant = df5_melted_High_Income[ df5_melted_High_Income['Indicator Name'] == 'GDP per capita, PPP (current international $)' ]
df_PIB_par_habitant_courant.head()
df_PIB_par_habitant_constant_2011 = df5_melted_High_Income[ df5_melted_High_Income['Indicator Name'] == 'GDP per capita, PPP (constant 2011 international $)' ]
df_PIB_par_habitant_constant_2011.head()
df_Dépense_educ_2ndaire_pourcent_du_PIB = df5_melted_High_Income[ df5_melted_High_Income['Indicator Name'] == 'Government expenditure on secondary education as % of GDP (%)' ]
df_Dépense_educ_2ndaire_pourcent_du_PIB.head()
df_Dépense_educ_tertiaire_pourcent_du_PIB = df5_melted_High_Income[ df5_melted_High_Income['Indicator Name'] == 'Government expenditure on tertiary education as % of GDP (%)' ]
df_Dépense_educ_tertiaire_pourcent_du_PIB.head()
df_internet_users_pourcent = df5_melted_High_Income[ df5_melted_High_Income['Indicator Name'] == 'Internet users (per 100 people)' ]
df_internet_users_pourcent.head()
df_pop_growth_pourcent = df5_melted_High_Income[ df5_melted_High_Income['Indicator Name'] == 'Population growth (annual %)' ]
df_pop_growth_pourcent.head()
df_total_population = df5_melted_High_Income[ df5_melted_High_Income['Indicator Name'] == 'Population, total' ]
df_total_population.head()
Afin de faciliter la compréhension graphique, je choisis de regrouper les pays par région.
sns.catplot(x='Année',y='value',data=df_PIB_valeur_courante, hue='Region', kind='point', height=10)
sns.catplot(x='Année',y='value',data=df_PIB_valeur_constante_2011, hue='Region', kind='point', height=10)
En comparant les deux graphiques ci-dessus, nous pouvons remarquer que l'Amérique du nord comporte le PIB le plus important et de loin, de 2000 à 2017.
sns.catplot(x='Année',y='value',data=df_PIB_par_habitant_courant, hue='Region', kind='point', height=10)
Bien que l'amérique du Nord comporte le PIB le plus important du point de vue globale (graphique 1 et 2) nous remarquons qu'elle ne représente pas la région du monde la plus riche.
Le PIB par habitant vise à mettre en avant le niveau de richesse du pays, rapporté au nombre d'habitants. Il constitue donc un indicateur du niveau de vie des habitants, aussi appelé pouvoir d'achat. Toutefois, il ne permet pas de prendre en compte les inégalités de richesses.
Ainsi nous remarquons qu'entre 2012 et 2017, l'Afrique centrale et du nord s'est vue rattrapé par la région d'Asie de l'Est/Pacifique à partir de 2012. L'Amérique du Nord est quant à elle 3ème de ce point de vue.
sns.catplot(x='Année',y='value',data=df_PIB_par_habitant_constant_2011, hue='Region', kind='point', height=10)
En supprimant l'effet de l'inflation, nous constatons que la tendance semble se confirmer.
sns.catplot(x='Année',y='value',data=df_Dépense_educ_2ndaire_pourcent_du_PIB, hue='Region', kind='point', height=10)
Parmis l'ensemble des pays comportant un haut niveau de revenus, nous remarquons que seule région d'Europe et Asie centrale se démarque. Elle semble répondre à la fois aux critères de niveau de richesse élevés, dans chaque pays concernés et être la seule à investir dans l'éducation secondaire. Toutefois, ceci étant peu probable, il est possible que les données n'aient pas été renseignées pour les autres régions du monde.
Nous pouvons constater qu'il y a une baisse des dépenses de l'éducation secondaire en pourcentage du PIB. La question est : Pourquoi ?
Nous allons tenter d'y répondre grâce au graphique suivant.
sns.catplot(x='Année',y='value',data=df_Dépense_educ_tertiaire_pourcent_du_PIB, hue='Region', kind='point', height=10)
En étudiant ce graphique, nous constatons qu'il y a eu une nette hausse des investissements dans l'éducation supérieure au sein de la région Europe et Asie centrale. Nous avons ainsi une clé qui pourrait expliquer la baisse des investissements, en pourcentage, de l'éducation secondaire. Il semble que la part allouée se soit développée davantage dans l'éducation supérieure, ce qui a créé une baisse, en proportion, du taux d'investissement dans l'éducation secondaire. De plus, les études supérieures ont tendance à être plus coûteuse, ce qui influence davantage ces chiffres.
sns.catplot(x='Année',y='value',data=df_internet_users_pourcent, hue='Region', kind='point', height=10)
D'après ce graphique représentant le taux d'utilisateurs d'internet par région, nous avons, par ordre d'importance : L'Est de l'Asie et Pacifique, puis ex-aequo : L'Amérique du nord, L'Europe et l'Asie Centrale, Le Centre est et l'Afrique du Nord.
sns.catplot(x='Année',y='value',data=df_pop_growth_pourcent, hue='Region', kind='point', height=10)
sns.catplot(x='Année',y='value',data=df_total_population, hue='Region', kind='point', height=10)
Ce graphique représente le niveau de population par région du monde. Il confirme l'idée selon laquelle le PIB par habitant en Amérique du Nord est fortement dilué par rapport aux autres régions du monde.
# Je veux faire apparaître les pays d'Asie de l'Est et du pacifique, comportant un haut niveau de revenu.
df5_High_Income_final = df5_High_Income[df5_High_Income["Region"].str.contains('East Asia & Pacific')]
df5_High_Income_final.head()
# Je souhaite afficher les variables à étudier pour la région concernée
df5_High_Income_final['Indicator Name'].unique().tolist()
df_PIB_courant = df5_High_Income_final[ df5_High_Income_final['Indicator Name'] == 'GDP, PPP (current international $)' ]
df_PIB_courant.head()
df_PIB_constant_2011 = df5_High_Income_final[ df5_High_Income_final['Indicator Name'] == 'GDP, PPP (constant 2011 international $)' ]
df_PIB_constant_2011.head()
df_PIB_par_habitant_courant = df5_High_Income_final[ df5_High_Income_final['Indicator Name'] == 'GDP per capita, PPP (current international $)' ]
df_PIB_par_habitant_courant.head()
df_PIB_par_habitant_constant_2011 = df5_High_Income_final[ df5_High_Income_final['Indicator Name'] == 'GDP per capita, PPP (constant 2011 international $)' ]
df_PIB_par_habitant_constant_2011.head()
df_pop_growth = df5_High_Income_final[ df5_High_Income_final['Indicator Name'] == 'Population growth (annual %)' ]
df_pop_growth.head()
df_pop_total = df5_High_Income_final[ df5_High_Income_final['Indicator Name'] == 'Population, total' ]
df_pop_total.head()
df_final_East_Asia_Pacific = df5_High_Income_final[df5_High_Income_final['Region'] == 'East Asia & Pacific']
df_final_East_Asia_Pacific
df_final_East_Asia_Pacific['Indicator Name'].unique().tolist()
Nous allons maintenant étudier les données des pays et représentation graphique par indicateur, pour la région 'East Asia & Pacific'.
df_East_Asia_Pacific_Internet_users = df_final_East_Asia_Pacific[df_final_East_Asia_Pacific['Indicator Name'] == 'Internet users (per 100 people)']
df_East_Asia_Pacific_Internet_users.head()
sns.catplot(x='Année', y='value', data=df_East_Asia_Pacific_Internet_users, hue='Country Name', col='Indicator Name', kind='point', height = 10)
df_East_Asia_Pacific_PIB_courant = df_final_East_Asia_Pacific[df_final_East_Asia_Pacific['Indicator Name'] == 'GDP, PPP (current international $)']
df_East_Asia_Pacific_PIB_courant.head()
sns.catplot(x='Année', y='value', data=df_East_Asia_Pacific_PIB_courant, hue='Country Name', col='Indicator Name', kind='point', height = 10)
df_East_Asia_Pacific_PIB_constant_2011 = df_final_East_Asia_Pacific[df_final_East_Asia_Pacific['Indicator Name'] == 'GDP, PPP (constant 2011 international $)']
df_East_Asia_Pacific_PIB_constant_2011.head()
df_East_Asia_Pacific_PÏB_par_habitant_courant = df_final_East_Asia_Pacific[df_final_East_Asia_Pacific['Indicator Name'] == 'GDP per capita, PPP (current international $)']
df_East_Asia_Pacific_PÏB_par_habitant_courant.head()
sns.catplot(x='Année', y='value', data=df_East_Asia_Pacific_PÏB_par_habitant_courant, hue='Country Name', col='Indicator Name', kind='point', height = 10)
df_East_Asia_Pacific_PIB_par_habitant_constant_2011 = df_final_East_Asia_Pacific[df_final_East_Asia_Pacific['Indicator Name'] == 'GDP per capita, PPP (constant 2011 international $)']
df_East_Asia_Pacific_PIB_par_habitant_constant_2011.head()
sns.catplot(x='Année', y='value', data=df_East_Asia_Pacific_PIB_par_habitant_constant_2011, hue='Country Name', col='Indicator Name', kind='point', height = 10)
df_East_Asia_Pacific_pop_growth = df_final_East_Asia_Pacific[df_final_East_Asia_Pacific['Indicator Name'] == 'Population growth (annual %)']
df_East_Asia_Pacific_pop_growth.head()
sns.catplot(x='Année', y='value', data=df_East_Asia_Pacific_pop_growth, hue='Country Name', col='Indicator Name', kind='point', height = 10)
df_East_Asia_Pacific_pop_totale = df_final_East_Asia_Pacific[df_final_East_Asia_Pacific['Indicator Name'] == 'Population, total']
df_East_Asia_Pacific_pop_totale.head()
sns.catplot(x='Année', y='value', data=df_East_Asia_Pacific_pop_totale, hue='Country Name', col='Indicator Name', kind='point', height = 10)
df_East_Asia_Pacific_Internet_users.describe()
L'écart-type est assez faible, la dispersion est assez proche de la moyenne qui correspond à 63.79 % des utilisateurs d'internet pour la région East Asia / Pacific.
df5_High_Income_final[df5_High_Income_final['Region'] == 'East Asia & Pacific']
df_final_East_Asia_Pacific = df5_High_Income_final[df5_High_Income_final['Region'] == 'East Asia & Pacific']
df_final_East_Asia_Pacific
moy_par_indicateur_East_Asia_Pacific = df_final_East_Asia_Pacific.groupby(['Indicator Name','Country Name'], as_index=False).agg({'value': 'mean'}).sort_values(by = ['Indicator Name','value'], ascending=False)
moy_par_indicateur_East_Asia_Pacific
df_East_Asia_Pacific_Internet_users = df_final_East_Asia_Pacific[df_final_East_Asia_Pacific['Indicator Name'] == 'Internet users (per 100 people)']
df_East_Asia_Pacific_Internet_users.head()
sns.catplot(x='Année', y='value', data=df_East_Asia_Pacific_Internet_users, hue='Country Name', col='Indicator Name', kind='point', height = 10)
La Korée et le japon sont les plus équipés en internet, suivi par la nouvelle-zélande, l'australie et Hong-kong, le tout approchant les 90%.
df_East_Asia_Pacific_PIB_courant = df_final_East_Asia_Pacific[df_final_East_Asia_Pacific['Indicator Name'] == 'GDP, PPP (current international $)']
df_East_Asia_Pacific_PIB_courant.head()
sns.catplot(x='Année', y='value', data=df_East_Asia_Pacific_PIB_courant, hue='Country Name', col='Indicator Name', kind='point', height = 10)
Le Japon est le pays dégagant le plus de richesse, produisant plus du triple de son suiveur, la Korée.
df_East_Asia_Pacific_PIB_constant_2011 = df_final_East_Asia_Pacific[df_final_East_Asia_Pacific['Indicator Name'] == 'GDP, PPP (constant 2011 international $)']
df_East_Asia_Pacific_PIB_constant_2011.head()
sns.catplot(x='Année', y='value', data=df_East_Asia_Pacific_PIB_constant_2011, hue='Country Name', col='Indicator Name', kind='point', height = 10)
df_East_Asia_Pacific_PÏB_par_habitant_courant = df_final_East_Asia_Pacific[df_final_East_Asia_Pacific['Indicator Name'] == 'GDP per capita, PPP (current international $)']
df_East_Asia_Pacific_PÏB_par_habitant_courant.head()
sns.catplot(x='Année', y='value', data=df_East_Asia_Pacific_PÏB_par_habitant_courant, hue='Country Name', col='Indicator Name', kind='point', height = 10)
Macao, une région administrative de la Chine (elle constitue donc un segment distinct sur le plan statistique) possède le niveau de richesse par habitant le plus élevé (mais a nettement baissé entre 2013 et 2017), suivi par Singapour et Brunei Darussalam. Ce dernier est un micro-état et il est peu probable qu'il constitue un pays d'implantation intéressant.
df_East_Asia_Pacific_PIB_par_habitant_constant_2011 = df_final_East_Asia_Pacific[df_final_East_Asia_Pacific['Indicator Name'] == 'GDP per capita, PPP (constant 2011 international $)']
df_East_Asia_Pacific_PIB_par_habitant_constant_2011.head()
sns.catplot(x='Année', y='value', data=df_East_Asia_Pacific_PIB_par_habitant_constant_2011, hue='Country Name', col='Indicator Name', kind='point', height = 10)
df_East_Asia_Pacific_pop_growth = df_final_East_Asia_Pacific[df_final_East_Asia_Pacific['Indicator Name'] == 'Population growth (annual %)']
df_East_Asia_Pacific_pop_growth.head()
sns.catplot(x='Année', y='value', data=df_East_Asia_Pacific_pop_growth, hue='Country Name', col='Indicator Name', kind='point', height = 10)
df_East_Asia_Pacific_pop_totale = df_final_East_Asia_Pacific[df_final_East_Asia_Pacific['Indicator Name'] == 'Population, total']
df_East_Asia_Pacific_pop_totale.head()
sns.catplot(x='Année', y='value', data=df_East_Asia_Pacific_pop_totale, hue='Country Name', col='Indicator Name', kind='point', height = 10)
Le Japon semble ici comporter la population la plus importante de la région Asie de l'Est et Pacifique, toutefois cela semble très peu probable; du fait de l'absence d'autres pays majeut (comme la Chine) dans la représentation graphique. Sans la présence de ces données il semble difficile de prendre du recul sur le niveau élevé de richesse par habitant de Macao (Chine). Si nous la retenons pas dnans ce classement, le Japon et la Korée sont les meilleurs cibles.
df5_melted_High_Income['Indicator Name'].unique().tolist()
Educ_East_Asia_Pacific = df5_melted_High_Income[df5_melted_High_Income['Region'] == 'East Asia & Pacific']
Educ_East_Asia_Pacific
Education_East_Asia_and_Pacific_2dary = Educ_East_Asia_Pacific[Educ_East_Asia_Pacific['Indicator Name'] == 'Government expenditure per secondary student as % of GDP per capita (%)']
Education_East_Asia_and_Pacific_2dary
Education_East_Asia_and_Pacific_3tiary = Educ_East_Asia_Pacific[Educ_East_Asia_Pacific['Indicator Name'] == 'Government expenditure per tertiary student as % of GDP per capita (%)']
df_Middle_East_and_North_Africa = df5_melted_High_Income[df5_melted_High_Income['Region'] =='Middle East & North Africa']
df_Middle_East_and_North_Africa
moy_par_indicateur_Middle_East_and_North_Africa = df_Middle_East_and_North_Africa.groupby(['Indicator Name','Country Name'], as_index=False).agg({'value': 'mean'}).sort_values(by = ['Indicator Name','value'], ascending=False)
moy_par_indicateur_Middle_East_and_North_Africa
df_Middle_East_and_North_Africa_Internet_users = df_Middle_East_and_North_Africa[df_Middle_East_and_North_Africa['Indicator Name'] == 'Internet users (per 100 people)']
df_Middle_East_and_North_Africa_Internet_users.head()
sns.catplot(x='Année', y='value', data=df_Middle_East_and_North_Africa_Internet_users, hue='Country Name', col='Indicator Name', kind='point', height = 10)
On constate que 3 pays se distingue nettement : Bahrain , les Emirats Arabes Unis et le Qatar sont équipés à + de 95% d'internet en 2017.
df_Middle_East_and_North_Africa_PIB_courant = df_Middle_East_and_North_Africa[df_Middle_East_and_North_Africa['Indicator Name'] == 'GDP, PPP (current international $)']
df_Middle_East_and_North_Africa_PIB_courant.head()
sns.catplot(x='Année', y='value', data=df_Middle_East_and_North_Africa_PIB_courant, hue='Country Name', col='Indicator Name', kind='point', height = 10)
Le PIB de l'arabie saoudite dépasse de loin celui des autres pays, le deuxième étant les émirats arabes unis.
df_Middle_East_and_North_Africa_PIB_constant_2011 = df_Middle_East_and_North_Africa[df_Middle_East_and_North_Africa['Indicator Name'] == 'GDP, PPP (constant 2011 international $)']
df_Middle_East_and_North_Africa_PIB_constant_2011.head()
sns.catplot(x='Année', y='value', data=df_Middle_East_and_North_Africa_PIB_constant_2011, hue='Country Name', col='Indicator Name', kind='point', height = 10)
df_Middle_East_and_North_Africa_PÏB_par_habitant_courant = df_Middle_East_and_North_Africa[df_Middle_East_and_North_Africa['Indicator Name'] == 'GDP per capita, PPP (current international $)']
df_Middle_East_and_North_Africa_PÏB_par_habitant_courant.head()
sns.catplot(x='Année', y='value', data=df_Middle_East_and_North_Africa_PÏB_par_habitant_courant, hue='Country Name', col='Indicator Name', kind='point', height = 10)
Le Qatar est le pays le plus riche par habitant, suivi de loin par le koweit et les émirats arabes unis.
df_Middle_East_and_North_Africa_PIB_par_habitant_constant_2011 = df_Middle_East_and_North_Africa[df_Middle_East_and_North_Africa['Indicator Name'] == 'GDP per capita, PPP (constant 2011 international $)']
df_Middle_East_and_North_Africa_PIB_par_habitant_constant_2011.head()
sns.catplot(x='Année', y='value', data=df_Middle_East_and_North_Africa_PIB_par_habitant_constant_2011, hue='Country Name', col='Indicator Name', kind='point', height = 10)
df_Middle_East_and_North_Africa_pop_growth = df_Middle_East_and_North_Africa[df_Middle_East_and_North_Africa['Indicator Name'] == 'Population growth (annual %)']
df_Middle_East_and_North_Africa_pop_growth.head()
sns.catplot(x='Année', y='value', data=df_Middle_East_and_North_Africa_pop_growth, hue='Country Name', col='Indicator Name', kind='point', height = 10)
Le qatar et les émirats arabes unis connaissent un ralentissement de la croissance de leur population.
df_Middle_East_and_North_Africa_pop_totale = df_Middle_East_and_North_Africa[df_Middle_East_and_North_Africa['Indicator Name'] == 'Population, total']
df_Middle_East_and_North_Africa_pop_totale.head()
sns.catplot(x='Année', y='value', data=df_Middle_East_and_North_Africa_pop_totale, hue='Country Name', col='Indicator Name', kind='point', height = 10)
L'arabie saoudite possède de très loin la population la plus importante devant les émirats arabes et israël.
df_Middle_East_and_North_Africa[df_Middle_East_and_North_Africa['Indicator Name'] == 'Government expenditure per secondary student as % of GDP per capita (%)']
df_Middle_East_and_North_Africa[df_Middle_East_and_North_Africa['Indicator Name'] == 'Government expenditure per tertiary student as % of GDP per capita (%)']
df_North_America = df5_melted_High_Income[df5_melted_High_Income['Region'] =='North America']
df_North_America
moy_par_indicateur_North_America = df_North_America.groupby(['Indicator Name','Country Name'], as_index=False).agg({'value': 'mean'}).sort_values(by = ['Indicator Name','value'], ascending=False)
moy_par_indicateur_North_America
df_North_America_Internet_users = df_North_America[df_North_America['Indicator Name'] == 'Internet users (per 100 people)']
df_North_America_Internet_users.head()
sns.catplot(x='Année', y='value', data=df_North_America_Internet_users, hue='Country Name', col='Indicator Name', kind='point', height = 10)
Le canada est dôté à plus de 90% d'internet et les Etats unis à plus de 70%.
df_North_America_PIB_courant = df_North_America[df_North_America['Indicator Name'] == 'GDP, PPP (current international $)']
df_North_America_PIB_courant.head()
sns.catplot(x='Année', y='value', data=df_North_America_PIB_courant, hue='Country Name', col='Indicator Name', kind='point', height = 10)
df_North_America_PIB_constant_2011 = df_North_America[df_North_America['Indicator Name'] == 'GDP, PPP (constant 2011 international $)']
df_North_America_PIB_constant_2011.head()
sns.catplot(x='Année', y='value', data=df_North_America_PIB_constant_2011, hue='Country Name', col='Indicator Name', kind='point', height = 10)
Le canada ne dégage que très peu de richesse de sa production contrairement aux Etats-Unis.
df_North_America_PÏB_par_habitant_courant = df_North_America[df_North_America['Indicator Name'] == 'GDP per capita, PPP (current international $)']
df_North_America_PÏB_par_habitant_courant.head()
sns.catplot(x='Année', y='value', data=df_North_America_PÏB_par_habitant_courant, hue='Country Name', col='Indicator Name', kind='point', height = 10)
df_North_America_PIB_par_habitant_constant_2011 = df_North_America[df_North_America['Indicator Name'] == 'GDP per capita, PPP (constant 2011 international $)']
df_North_America_PIB_par_habitant_constant_2011.head()
sns.catplot(x='Année', y='value', data=df_North_America_PIB_par_habitant_constant_2011, hue='Country Name', col='Indicator Name', kind='point', height = 10)
Le niveau de richesse par habitant des Etats-Unis est bien plus important qu'au Canada, le rendant plus attractif.
df_North_America_pop_growth = df_North_America[df_North_America['Indicator Name'] == 'Population growth (annual %)']
df_North_America_pop_growth.head()
sns.catplot(x='Année', y='value', data=df_North_America_pop_growth, hue='Country Name', col='Indicator Name', kind='point', height = 10)
df_North_America_pop_totale = df_North_America[df_North_America['Indicator Name'] == 'Population, total']
df_North_America_pop_totale.head()
sns.catplot(x='Année', y='value', data=df_North_America_pop_totale, hue='Country Name', col='Indicator Name', kind='point', height = 10)
Les Etats-Unis comporte de très loin la population la plus importante, avec un PIB par habitant extrêmement élevé. Les perspective de profit y sont importantes.
df_North_America[df_North_America['Indicator Name'] == 'Government expenditure per secondary student as % of GDP per capita (%)']
df_North_America[df_North_America['Indicator Name'] == 'Government expenditure per tertiary student as % of GDP per capita (%)']
df_Europe_et_Asie_centrale = df5_melted_High_Income[df5_melted_High_Income['Region'] == 'Europe & Central Asia']
df_Europe_et_Asie_centrale
moy_par_indicateur_Europe_et_Asie_centrale = df_Europe_et_Asie_centrale.groupby(['Indicator Name','Country Name'], as_index=False).agg({'value': 'mean'}).sort_values(by = ['Indicator Name','value'], ascending=False)
moy_par_indicateur_Europe_et_Asie_centrale
Nous allons maintenant étudier une par une les différentes variables
df_Europe_et_Asie_centrale['Indicator Name'].unique().tolist()
df_Europe_et_Asie_centrale_Internet_users = df_Europe_et_Asie_centrale[df_Europe_et_Asie_centrale['Indicator Name'] == 'Internet users (per 100 people)']
df_Europe_et_Asie_centrale_Internet_users.head()
sns.catplot(x='Année', y='value', data=df_Europe_et_Asie_centrale_Internet_users, hue='Country Name', col='Indicator Name', kind='point', height = 10)
df_Europe_et_Asie_centrale_PIB_courant = df_Europe_et_Asie_centrale[df_Europe_et_Asie_centrale['Indicator Name'] == 'GDP, PPP (current international $)']
df_Europe_et_Asie_centrale_PIB_courant.head()
sns.catplot(x='Année', y='value', data=df_Europe_et_Asie_centrale_PIB_courant, hue='Country Name', col='Indicator Name', kind='point', height = 10)
Dans l'ordre, les pays comportant le PIB les plus important sont l'Allemagne, la Russie, puis derrière, la France et le Royaume-Unis.
df_Europe_et_Asie_centrale_PIB_constant_2011 = df_Europe_et_Asie_centrale[df_Europe_et_Asie_centrale['Indicator Name'] == 'GDP, PPP (constant 2011 international $)']
df_Europe_et_Asie_centrale_PIB_constant_2011.head()
sns.catplot(x='Année', y='value', data=df_Europe_et_Asie_centrale_PIB_constant_2011, hue='Country Name', col='Indicator Name', kind='point', height = 10)
En étudiant le PIB courant, nous constatons que finalement les PIB de l'Allemagne et de la Russie sont identiques, une fois l'effet de l'inflation supprimé. Les deux pays ont donc des PIB similaires.
df_Europe_et_Asie_centrale_PÏB_par_habitant_courant = df_Europe_et_Asie_centrale[df_Europe_et_Asie_centrale['Indicator Name'] == 'GDP per capita, PPP (current international $)']
df_Europe_et_Asie_centrale_PÏB_par_habitant_courant.head()
sns.catplot(x='Année', y='value', data=df_Europe_et_Asie_centrale_PÏB_par_habitant_courant, hue='Country Name', col='Indicator Name', kind='point', height = 10)
Le Luxembourg dégage le PIB par habitant le plus important de tous, toutefois, il s'agit d'un petit pays. En 2ème et 3ème position nous avons l'Irlande, la Suisse, la Norvège. Pour information la majorité des revenus de ces 3 premiers pays proviennent ne provient probablement pas de leur industrie, mais de leur état de paradis fiscaux, se rapportant à une faible population du pays.
La Norvège quant à elle se distingue en tant que 4ème pays.
df_Europe_et_Asie_centrale_PIB_par_habitant_constant_2011 = df_Europe_et_Asie_centrale[df_Europe_et_Asie_centrale['Indicator Name'] == 'GDP per capita, PPP (constant 2011 international $)']
df_Europe_et_Asie_centrale_PIB_par_habitant_constant_2011.head()
sns.catplot(x='Année', y='value', data=df_Europe_et_Asie_centrale_PIB_par_habitant_constant_2011, hue='Country Name', col='Indicator Name', kind='point', height = 10)
df_Europe_et_Asie_centrale_pop_growth = df_Europe_et_Asie_centrale[df_Europe_et_Asie_centrale['Indicator Name'] == 'Population growth (annual %)']
df_Europe_et_Asie_centrale_pop_growth.head()
sns.catplot(x='Année', y='value', data=df_Europe_et_Asie_centrale_pop_growth, hue='Country Name', col='Indicator Name', kind='point', height = 10)
La plus forte croissance de population vient du Luxembourg, de l'Irlande et de Chypre.
df_Europe_et_Asie_centrale_pop_totale = df_Europe_et_Asie_centrale[df_Europe_et_Asie_centrale['Indicator Name'] == 'Population, total']
df_Europe_et_Asie_centrale_pop_totale.head()
sns.catplot(x='Année', y='value', data=df_Europe_et_Asie_centrale_pop_totale, hue='Country Name', col='Indicator Name', kind='point', height = 10)
La population la plus importante se situe en Russie, puis en Allemagne. Ces deux pays ne s'étant pas démarqué sur la variable PIB par habitant, mais sur celle de la population, ils pourraient être retenus pour une stratégie de pénétration du marché (notamment en Russie).
df_Europe_et_Asie_centrale_2dary_educ = df_Europe_et_Asie_centrale[df_Europe_et_Asie_centrale['Indicator Name'] == 'Government expenditure on secondary education as % of GDP (%)']
df_Europe_et_Asie_centrale_2dary_educ.head()
sns.catplot(x='Année', y='value', data=df_Europe_et_Asie_centrale_2dary_educ, hue='Country Name', col='Indicator Name', kind='point', height = 10)
df_Europe_et_Asie_centrale_3tiary_educ = df_Europe_et_Asie_centrale[df_Europe_et_Asie_centrale['Indicator Name'] == 'Government expenditure on tertiary education as % of GDP (%)']
df_Europe_et_Asie_centrale_3tiary_educ.head()
sns.catplot(x='Année', y='value', data=df_Europe_et_Asie_centrale_3tiary_educ, hue='Country Name', col='Indicator Name', kind='point', height = 10)
Les données ne sont pas suffisamment probantes pour établir des conclusions.
var_to_study
East_Asia_and_pacific_internet = moy_par_indicateur_East_Asia_Pacific[moy_par_indicateur_East_Asia_Pacific['Indicator Name'] == 'Internet users (per 100 people)']
East_Asia_and_pacific_internet.head(5)
East_Asia_and_pacific_PIB_par_habitant_constant = moy_par_indicateur_East_Asia_Pacific[moy_par_indicateur_East_Asia_Pacific['Indicator Name'] == 'GDP per capita, PPP (constant 2011 international $)']
East_Asia_and_pacific_PIB_par_habitant_constant.head(5)
East_Asia_and_pacific_population = moy_par_indicateur_East_Asia_Pacific[moy_par_indicateur_East_Asia_Pacific['Indicator Name'] == 'Population, total']
East_Asia_and_pacific_population.head(5)
Après recherche la population de Macao en 2017 ne dépasse pas les 625 000 habitants.
Source : https://data.worldbank.org/indicator/SP.POP.TOTL?locations=MO&name_desc=false
East_Asia_and_pacific_GDP_constant = moy_par_indicateur_East_Asia_Pacific[moy_par_indicateur_East_Asia_Pacific['Indicator Name'] == 'GDP, PPP (constant 2011 international $)']
East_Asia_and_pacific_GDP_constant.head(5)
De manière générale, Singapour est le pays cible à retenir. Le pays réponds très favorablement besoin d'équipement en internet, comporte une population riche et dense.
Dans le cadre d'une offre à destination des états ou d'une stratégie de pénétration du marché(offre plus abordable), le Japon, la Korée et l'Australie sont de très bonnes cibles.
Centre_Est_et_Afrique_du_Nord_internet = moy_par_indicateur_Middle_East_and_North_Africa[moy_par_indicateur_Middle_East_and_North_Africa['Indicator Name'] == 'Internet users (per 100 people)']
Centre_Est_et_Afrique_du_Nord_internet.head(5)
Centre_Est_et_Afrique_du_Nord_PIB_par_habitant_constant = moy_par_indicateur_Middle_East_and_North_Africa[moy_par_indicateur_Middle_East_and_North_Africa['Indicator Name'] == 'GDP per capita, PPP (constant 2011 international $)']
Centre_Est_et_Afrique_du_Nord_PIB_par_habitant_constant.head(5)
Centre_Est_et_Afrique_du_Nord_population = moy_par_indicateur_Middle_East_and_North_Africa[moy_par_indicateur_Middle_East_and_North_Africa['Indicator Name'] == 'Population, total']
Centre_Est_et_Afrique_du_Nord_population.head(5)
Centre_Est_et_Afrique_du_Nord_GDP_constant = moy_par_indicateur_Middle_East_and_North_Africa[moy_par_indicateur_Middle_East_and_North_Africa['Indicator Name'] == 'GDP, PPP (constant 2011 international $)']
Centre_Est_et_Afrique_du_Nord_GDP_constant.head(5)
D'une manière générale, les Emirats Arabes Unis représentent le meilleur candidat. Dans le cadre d'une offre à destination des états ou d'une stratégie de pénétration du marché(offre plus abordable), les Emirats Arabes Unis, l'Arabie Saoudite, Israël et le Koweit sont de très bonnes cibles.
Amerique_du_Nord_internet = moy_par_indicateur_North_America[moy_par_indicateur_North_America['Indicator Name'] == 'Internet users (per 100 people)']
Amerique_du_Nord_internet.head(5)
Amerique_du_Nord_PIB_par_habitant_constant = moy_par_indicateur_North_America[moy_par_indicateur_North_America['Indicator Name'] == 'GDP per capita, PPP (constant 2011 international $)']
Amerique_du_Nord_PIB_par_habitant_constant.head(5)
Amerique_du_Nord_population = moy_par_indicateur_North_America[moy_par_indicateur_North_America['Indicator Name'] == 'Population, total']
Amerique_du_Nord_population.head(5)
Amerique_du_Nord_GDP_constant = moy_par_indicateur_North_America[moy_par_indicateur_North_America['Indicator Name'] == 'GDP, PPP (constant 2011 international $)']
Amerique_du_Nord_GDP_constant.head(5)
D'une manière générale, les Etats-Unis représentent le meilleur candidat. Dans le cadre d'une offre à destination des individus le pays reste un bon choix, le Canada reste une cible potentielle.
Europe_Asie_internet = moy_par_indicateur_Europe_et_Asie_centrale[moy_par_indicateur_Europe_et_Asie_centrale['Indicator Name'] == 'Internet users (per 100 people)']
Europe_Asie_internet.head(10)
Europe_Asie_PIB_par_habitant_constant = moy_par_indicateur_Europe_et_Asie_centrale[moy_par_indicateur_Europe_et_Asie_centrale['Indicator Name'] == 'GDP per capita, PPP (constant 2011 international $)']
Europe_Asie_PIB_par_habitant_constant.head(5)
Europe_Asie_population = moy_par_indicateur_Europe_et_Asie_centrale[moy_par_indicateur_Europe_et_Asie_centrale['Indicator Name'] == 'Population, total']
Europe_Asie_population.head(10)
Europe_Asie_GDP_constant = moy_par_indicateur_Europe_et_Asie_centrale[moy_par_indicateur_Europe_et_Asie_centrale['Indicator Name'] == 'GDP, PPP (constant 2011 international $)']
Europe_Asie_GDP_constant.head(10)
Europe_Asie_educ_2dary_as_purcent_GDP = moy_par_indicateur_Europe_et_Asie_centrale[moy_par_indicateur_Europe_et_Asie_centrale['Indicator Name'] == 'Government expenditure on secondary education as % of GDP (%)']
Europe_Asie_educ_2dary_as_purcent_GDP.head(5)
Europe_Asie_educ_3rd_as_purcent_GDP = moy_par_indicateur_Europe_et_Asie_centrale[moy_par_indicateur_Europe_et_Asie_centrale['Indicator Name'] == 'Government expenditure on tertiary education as % of GDP (%)']
Europe_Asie_educ_3rd_as_purcent_GDP.head(5)
Dans le cadre d'une offre "premium", la Norvège et les Pays-Bas sont de très bons candidats. Dans le cadre d'une offre à destination des états ou d'une stratégie de pénétration du marché (offre plus abordable), l'Allemagne, l'Angleterre reste de d'excellente cibles potentielle. Toutefois, la Russie serait le meilleur candidat, sous réserve d'un équipement suffisant en internet. La Russie comprote un fort PIB, une forte population mais le taux d'équiepement étant une donnée cruciale absente, nous ne pouvons pas la retenir.